package com.huike.clues.service;

import com.huike.common.core.domain.TreeSelect;
import com.huike.common.core.domain.entity.SysDept;
import com.huike.common.core.page.TableDataInfo;
import java.util.List;

public interface ISysDeptService {
    void insertDept(SysDept sysDept);

    void updateDept(SysDept sysDept);

    TableDataInfo listDept(SysDept sysDept);


    public SysDept findDeptByDeptId(Long deptId);

    public int deleteDeptByDeptId(Long deptId);

    List<SysDept> treeSelect(SysDept dept);




    /**
     * 根据用户id获取其对应的所有部门id集合
     * @param roleId
     * @return
     */
    List<Integer> selectByRoleId(Integer roleId);

    /**
     * 根据id获取所有部门
     * @param deptIds
     * @return
     */
    List<SysDept> selectByIds(List<Integer> deptIds);

    /**
     * 根据部门集合获取部门列表树
     * @param deptList
     * @return
     */
    List<TreeSelect> buildDeptTreeSelect(List<SysDept> deptList);

    /**
     * 查询部门列表（排除节点）
     */
    List<SysDept> selectDeptList(SysDept sysDept);
}
